/*
 * Copyright 2000-2015 JetBrains s.r.o.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.intellij.plugins.markdown.parser

import com.intellij.idea.TestFor
import org.intellij.plugins.markdown.highlighting.MarkdownColorSettingsPage

class MarkdownParserTest: MarkdownParsingTestCase("parser") {
  fun testColorsAndFontsSample() {
    val colorSettingsPage = MarkdownColorSettingsPage()
    var demoText = colorSettingsPage.demoText
    for (tag in colorSettingsPage.additionalHighlightingTagToDescriptorMap.keys) {
      demoText = demoText.replace("<$tag>".toRegex(), "")
      demoText = demoText.replace("</$tag>".toRegex(), "")
    }
    doCodeTest(demoText)
  }

  fun testCodeBlock() = doTest(true)

  fun testComment() = doTest(true)

  fun testComplex() = doTest(true)

  @TestFor(issues = ["IDEA-213125"])
  fun testTableWithEscapedPipe() = doTest(true)

  @TestFor(issues = ["IDEA-213125"])
  fun testTableWithEscapedPipeInsideCodeSpan() = doTest(true)

  @TestFor(issues = ["IDEA-308695"])
  fun testTableWithSmallCells() = doTest(true)

  @TestFor(issues = ["IDEA-308695"])
  fun testTableWithEmptyCells() = doTest(true)

  @TestFor(issues = ["IDEA-308695"])
  fun testTableWithEmptyCellsAndTrailingWhitespace() = doTest(true)
}
